package com.love.marriage.userPartnerPreferences.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.love.marriage.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * description:  用户择偶要求表类
 * author:       mybatisPlus
 * createDate: 2024-10-29 22:13:42
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("user_partner_preferences_t")
@Schema(description = "用户择偶要求表")
public class UserPartnerPreferences extends BaseEntity<UserPartnerPreferences> {

    @Schema(description = "用户ID，关联用户表", type = "Long", implementation = Long.class)
    @TableField("user_id")
    private Long userId;

    @Schema(description = "理想年龄范围起始值", type = "Integer", implementation = Integer.class)
    @TableField(value = "age_from", updateStrategy = FieldStrategy.IGNORED)
    private Integer ageFrom;

    @Schema(description = "理想年龄范围结束值", type = "Integer", implementation = Integer.class)
    @TableField(value = "age_to", updateStrategy = FieldStrategy.IGNORED)
    private Integer ageTo;

    @Schema(description = "理想身高范围起始值（单位：cm）", type = "BigDecimal", implementation = BigDecimal.class)
    @TableField(value = "height_from", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal heightFrom;

    @Schema(description = "理想身高范围结束值（单位：cm）", type = "BigDecimal", implementation = BigDecimal.class)
    @TableField(value = "height_to", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal heightTo;

    @Schema(description = "理想体重范围起始值（单位：kg）", type = "BigDecimal", implementation = BigDecimal.class)
    @TableField(value = "weight_from", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal weightFrom;

    @Schema(description = "理想体重范围结束值（单位：kg）", type = "BigDecimal", implementation = BigDecimal.class)
    @TableField(value = "weight_to", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal weightTo;

    @Schema(description = "理想学历（如：本科、硕士）", type = "String", implementation = String.class)
    @TableField(value = "education_level", updateStrategy = FieldStrategy.IGNORED)
    private String educationLevel;

    @Schema(description = "理想职业", type = "String", implementation = String.class)
    @TableField(value = "profession", updateStrategy = FieldStrategy.IGNORED)
    private String profession;

    @Schema(description = "理想收入范围（如：5K-10K）", type = "String", implementation = String.class)
    @TableField(value = "income_range", updateStrategy = FieldStrategy.IGNORED)
    private String incomeRange;

    @Schema(description = "理想车房情况（如：有房无车、车房都有）", type = "String", implementation = String.class)
    @TableField(value = "housing_car_status", updateStrategy = FieldStrategy.IGNORED)
    private String housingCarStatus;

    @Schema(description = "理想婚姻状况（如：未婚、离异）", type = "String", implementation = String.class)
    @TableField(value = "marital_status", updateStrategy = FieldStrategy.IGNORED)
    private String maritalStatus;

    @Schema(description = "理想区域", type = "String", implementation = String.class)
    @TableField(value = "location", updateStrategy = FieldStrategy.IGNORED)
    private String location;

    @Schema(description = "省id", type = "Integer", implementation = Integer.class)
    @TableField(value = "province_id", updateStrategy = FieldStrategy.IGNORED)
    private Integer provinceId;

    @Schema(description = "城市id", type = "Integer", implementation = Integer.class)
    @TableField(value = "city_id", updateStrategy = FieldStrategy.IGNORED)
    private Integer cityId;

    @Schema(description = "区id", type = "Integer", implementation = Integer.class)
    @TableField(value = "district_id", updateStrategy = FieldStrategy.IGNORED)
    private Integer districtId;
}
